package Controlador;

import java.awt.event.*;

import juego.Direccion;
import juego.Juego;
import juego.NoSePuedeMoverMasJuegoFinalizado;


public class Controlador {

	private Juego juego;
	
	public Controlador(Juego juego) {		
		this.juego=juego;		
	}

	public KeyListener getKeyListener() {		
		return new KeyListener() {
		    public void keyPressed(KeyEvent e) {  
		    	int location = e.getKeyCode();				
		    	switch(location) {		    	
		    	case KeyEvent.VK_UP:
		    		try {
						juego.moverVehiculoEnUnaDireccion(Direccion.Arriba);						
					} catch (NoSePuedeMoverMasJuegoFinalizado e1) {
						e1.printStackTrace();
					}
		    		break;
		    		
		    	case KeyEvent.VK_DOWN:
		    		try {
						juego.moverVehiculoEnUnaDireccion(Direccion.Abajo);
					} catch (NoSePuedeMoverMasJuegoFinalizado e1) {
						e1.printStackTrace();
					}
		    		break;
		    		
		    	case KeyEvent.VK_LEFT:
		    		try {
						juego.moverVehiculoEnUnaDireccion(Direccion.Izquierda);						
					} catch (NoSePuedeMoverMasJuegoFinalizado e1) {
						e1.printStackTrace();
					}
		    		break;
		    		
		    	case KeyEvent.VK_RIGHT:
		    		try {
						juego.moverVehiculoEnUnaDireccion(Direccion.Derecha);						
					} catch (NoSePuedeMoverMasJuegoFinalizado e1) {
						e1.printStackTrace();
					}
		    		break;
		    	}				
		    }

			@Override
			public void keyReleased(KeyEvent arg0) {
				// TODO Auto-generated method stub				
			}

			@Override
			public void keyTyped(KeyEvent arg0) {
				// TODO Auto-generated method stub				
			}			
		};
	}

}